触发器和错误提示信息设置

您所在的位置:网站首页 mysql 编写触发器 触发器和错误提示信息设置

触发器和错误提示信息设置

2023-08-20 13:39| 来源: 网络整理| 查看: 265

一.概念

触发器:就是制定一个规则,在我们做增删改操作的时候,只要满足条件,自动触发,无需调用。

二.分类

语句级触发器:不包含for each row的就是语句级触发器。

行级触发器:包含for each row的就是行级触发器。

三.增删改的触发器说明 触发语句:old【之前数据】:new【新数据】Insert所有字段都为null(空)将要插入的数据Update更新之前该行的值更新之后该行的值Delete删除之前该行的值所有字段都为null(空) 四.语法 1.语句级触发器 create or replace trigger t1--设置触发器名称 after--设置触发时机:before或者after insert--设置增删改的状态【事件源】 on person--设置表名【事件源】 declare--声明 begin   dbms_output.put_line('新员工入职');--设置事件 end;

2.行级触发器

--行级触发器 --案例:不能给员工降薪 create or replace trigger t2--设置触发器名称 before--设置触发时机:before或after update--设置增删改的状态【事件源】 on emp--设置表名【事件源】 for each row--设置行级触发器 declare--声明 begin   if :old.sal>:new.sal then     --raise_application_error(-20001~-20999之间,'填写错误提示信息')      raise_application_error(-20001,'不能给员工降薪');--设置事件   end if; end;

3.oracle错误信息设置

--raise_application_error(-20001~-20999之间,'填写错误提示信息') raise_application_error(-20001,‘不能给员工降薪’)

4.触发器语法解析 图片

3.rar

五.范例 1.语句级触发器

图片

2.行级触发器

图片

六.触发器设置主键自增长 1.语法 --案例:使用触发器进行主键自增长【行级触发器】 --案例准备:创建一个序列,序列作用就是获取指定表的主键的表 create sequence s_person;--序列表名 --分析:在用户做插入操作的之前,拿到插入的数据,给该数据中的主键列赋值。 create or replace trigger auid--设置触发器名称 before--设置触发时机:before或afte insert--设置增删改的状态【事件源】 on person--设置表名【事件源】 for each row--设置行级触发器 declare begin   select 序列表名.nextval into :new.主键名称 from dual; end;

2.细节 如果存入的主键,表中已存在,则自动增长跟序列的下一个数字(nextval)进行存储。

3.范例

图片



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3